//数据库模块
const db=require('../db/index')
//brcypy加密模块
const bcrypt=require('bcryptjs')


//获取用户基本信息处理函数
exports.getUserinfo=(req,res)=>{
    const sql=`select id,username,nickname,email,user_pic from ev_users where id=?`
    db.query(sql,req.user.id,(err,results)=>{
        if(err) return res.cc(err)

        if(results.length!==1) return res.cc('获取用户信息失败')

        res.send({
            status:200,
            msg:'获取用户信息成功',
            data:results[0]
        })
    })
   

}
//更新用户基本信息处理函数
exports.updateUserinfo=(req,res)=>{
   const sql='update ev_users set ? where id=?'
   db.query(sql,[req.body,req.body.id],(err,results)=>{
       if(err) return res.cc(err)
       if(results.affectedRows!==1) return res.cc('更新用户信息失败')
       res.send({
           status:200,
           msg:'更新用户信息成功'
       })
   })

}
//更改用户密码处理函数
exports.updatePassword=(req,res)=>{
    const sql=`select * from ev_users where id=?`
    db.query(sql,req.user.id,(err,results)=>{
        if(err) return res.cc(err.message)
        if(results.length!==1) return res.cc('用户不存在')
        //判断密码
        const compareResult=bcrypt.compareSync(req.body.oldPwd,results[0].password)
        if(!compareResult) return res.cc('旧密码错误')
        const sql=`update ev_users set password=? where id=?`
        const newPwd=bcrypt.hashSync(req.body.newPwd,10)
        db.query(sql,[newPwd,req.user.id],(err,results)=>{
            if(err) return res.cc(err.message)
            if(results.affectedRows!==1) return res.cc('更新密码失败')
            res.send({
                status:200,
                msg:'更新密码成功'
            })
        })
    })
}
exports.updateAvatar=(req,res)=>{
    const sql=`update ev_users set user_pic=? where id=?`
    db.query(sql,[req.body.avatar,req.user.id],(err,results)=>{
        if(err) return res.cc(err)
        if(results.affectedRows!==1) return res.cc('更新头像失败')
        res.send({
            status:200,
            msg:'更新头像成功'
        })
       
        
    })
}